Skip to content

libe57format: 3.2.0 -> 3.3.0#496870

Open
hesiod wants to merge 1 commit intoNixOS:masterfrom
hesiod:libe57format-xercesc
Open

libe57format: 3.2.0 -> 3.3.0#496870
hesiod wants to merge 1 commit intoNixOS:masterfrom
hesiod:libe57format-xercesc

Conversation

@hesiod
Copy link
Contributor

@hesiod hesiod commented Mar 5, 2026

  • update to v3.3.0: https://github.com/asmaloney/libE57Format/releases/tag/v3.3.0
  • add nix-update-script
  • remove CXXFLAGS override, shouldn't be necessary anymore (at least in my testing)
  • instead of fetching submodules, manually link in our gtest sources in prePatch (reduces source archive size)
  • fix bash error if dontDisableStatic is undefined
  • move xercesc to propagatedBuildInputs (see below)

Note: I am a bit puzzled by the postInstall script. I'm not quite sure retaining hybrid static-and-shared builds is worth the effort, especially since the installed CMake target definition only knows about the static library, so the shared library will be ignored by CMake consumers. I'd be in favor of removing it and only building shared libraries, but perhaps there's something I'm missing. The installed target file for reference:

#----------------------------------------------------------------
# Generated CMake target import file for configuration "Release".
#----------------------------------------------------------------

# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)

# Import target "E57Format" for configuration "Release"
set_property(TARGET E57Format APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(E57Format PROPERTIES
  IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
  IMPORTED_LOCATION_RELEASE "/nix/store/x6wwf4x4c5fcbirnmkvlpgkam93ilr96-libe57format-3.3.0/lib/libE57Format.a"
  )

list(APPEND _cmake_import_check_targets E57Format )
list(APPEND _cmake_import_check_files_for_E57Format "/nix/store/x6wwf4x4c5fcbirnmkvlpgkam93ilr96-libe57format-3.3.0/lib/libE57Format.a" )

# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)

Move xercesc to propagatedBuildInputs

libe57format refers to xercesc in its exported CMake package configuration file, which in turn means it is required by every package which has libe57format in its buildInputs (only pdal at the moment). Therefore, xercesc should be part of propagatedBuildInputs.

This also simplifies the new AliceVision PR I put together, see #496867.

Reference

In the generated package config file (/nix/store/.../lib/cmake/E57Format/e57format-config.cmake), XercesC is required via find_dependency.

include(CMakeFindDependencyMacro)

find_dependency(XercesC REQUIRED)
include(${CMAKE_CURRENT_LIST_DIR}/E57Format-export.cmake)

set_target_properties(E57Format PROPERTIES
    MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release"
    MAP_IMPORTED_CONFIG_RELWITHDEBINFO "RelWithDebInfo;Release"
)

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

@hesiod hesiod mentioned this pull request Mar 5, 2026
15 tasks
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. labels Mar 5, 2026
@hesiod hesiod force-pushed the libe57format-xercesc branch from e51448a to 88b8f0e Compare March 6, 2026 11:21
@hesiod hesiod changed the title libe57format: move xercesc to propagatedBuildInputs libe57format: 3.2.0 -> 3.3.0 Mar 6, 2026
@nixpkgs-ci nixpkgs-ci bot added the 8.has: package (update) This PR updates a package to a newer version label Mar 6, 2026
@hesiod
Copy link
Contributor Author

hesiod commented Mar 10, 2026

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 496870 --package pdal --package libe57format
Commit: 88b8f0ea2383789d8c8ac15a10db8794c960e7fb


x86_64-linux

✅ 2 packages built:
  • libe57format
  • pdal

@hesiod hesiod marked this pull request as ready for review March 10, 2026 14:14
@nixpkgs-ci nixpkgs-ci bot requested review from a team, chpatrick and nh2 March 10, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (update) This PR updates a package to a newer version 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant